package com.ayoka.parenting.ui.group.index;

import com.ayoka.parenting.bean.BaseResponse;
import com.ayoka.parenting.bean.CircleGroupBean;
import com.ayoka.parenting.bean.PagerBean;
import com.ayoka.parenting.interf.RequestCallback;
import com.ayoka.parenting.mvp.BasePresenter;
import com.ayoka.parenting.mvp.BaseView;

/**
 * @ProjectName: MVPPlugin.
 * @ClassName: GroupIndexContract.
 * @Description: .
 * @Author: jincp.
 * @CreateDate: 2019/10/10 18:17.
 */
public class GroupIndexContract {

    interface View extends BaseView {
        void configCircleGroupListData(PagerBean<CircleGroupBean> data);

        void onOperationCallback(boolean isSuccess, String groupId);
    }

    interface Presenter extends BasePresenter<View> {
        void getCircleGroupListData(boolean isShowWaitDialog, int pageNo, int pageSize);

        void joinGroup(String groupId, int position);
    }

    interface Model {
        void getCircleGroupListData(BasePresenter presenter, int pageNo, int pageSize, RequestCallback<PagerBean<CircleGroupBean>> callback);

        void joinGroup(BasePresenter presenter, String groupId, RequestCallback<BaseResponse> requestCallback);
    }
}
